package com.yyw.foodie.bo.users;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.*;
import java.io.Serializable;
import java.util.Date;

/**
 * @author 易煜玮
 * @ClassName UsersBo.java
 * @Description 用户BO, 修改用户
 * @createTime 2021年05月23日 15:16:00
 */
@Data
@ToString
@EqualsAndHashCode
@ApiModel(value = "修改用户BO类")
public class UsersBo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id 用户id
     */
    @ApiModelProperty(value = "用户ID")
    @NotBlank(message = "请输入用户ID")
    private String id;

    /**
     * 用户名 用户名
     */
    @ApiModelProperty(value = "用户名")
    @NotBlank(message = "请输入用户名")
    private String username;

    /**
     * 昵称 昵称
     */
    @ApiModelProperty(value = "用户昵称")
    @NotBlank(message = "请输入昵称")
    @Length(min = 1, max = 12, message = "昵称长度不能超过12位")
    private String nickname;

    /**
     * 真实姓名
     */
    @ApiModelProperty(value = "真实姓名")
    @NotBlank(message = "请输入真实姓名")
    @Length(min = 1, max = 12, message = "真实姓名长度不能超过12位")
    private String realname;

    /**
     * 手机号 手机号
     */
    @ApiModelProperty(value = "手机号")
    @NotBlank(message = "请输入手机号")
    @Pattern(message = "请输入有效的手机号码！", regexp = "^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\\d{8})$")
    private String mobile;

    /**
     * 邮箱地址 邮箱地址
     */
    @ApiModelProperty(value = "邮箱")
    @NotBlank(message = "请输入邮箱")
    @Email(message = "请输入有效的邮箱地址！")
    private String email;

    /**
     * 性别 性别 1:男  0:女  2:保密
     */
    @ApiModelProperty(value = "性别")
    @NotNull(message = "请选择性别")
    @Max(value = 2, message = "性别输入不正确")
    @Min(value = 0, message = "性别输入不正确")
    private Integer sex;

    /**
     * 生日 生日
     */
    @ApiModelProperty(value = "生日")
    private Date birthday;

}
